A computer program is typically compiled to generate an executable program. The compilation process transforms the computer program from source code to object code. While source code is written in a high-level, human-readable programming language (e.g., C, Java), object code is in a binary format that is not immediately comprehensible. Although object code can be transformed into human-readable form in a process known as disassembly, a human operator cannot efficiently and reliability detect malicious computer programs by inspecting the disassembled object code.